<!-- Copyright 2017 Capital One Services, LLC and Bitwise, Inc.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 http://www.apache.org/licenses/LICENSE-2.0
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License. -->


<!doctype html>
<html>
<head>
<title>Filter Properties</title>
<link rel="stylesheet" type="text/css" href="../../css/style.css">
</head>
<body>

	<p>
		<span class="header-1">Filter Properties</span>
	</p>

	<p>
		<span><b>Properties</b>&nbsp;for the Filter component can be
			viewed by Double click-&gt;component on canvas. The properties
			contains only a &#39;General&#39; tab. Common and mandatory
			properties are present in the General tab.</span>
	</p>

	<p>
		<a name="general_properties"></a><span class="header-2">General
			Properties</span>
	</p>

	<p>
		<img alt="" src="../../images/Filter_Class.PNG" />
	</p>

	<p>
		<span class="header-2">Display</span>
	</p>

	<ul>
		<li><span><b>Name</b> - Name is an identifier for the component.
				This is a <b>mandatory</b> property. This property is pre-populated
				with the component name, i.e. 'Filter' followed by an incremental
				number. It can be changed to any custom name. The name property has
				following restrictions:</span></li>
		<ul>
			<li><span>Must be specified and should not be blank.</span></li>
			<li><span>Must be unique across the job.</span></li>
			<li><span>Accepts only alphabets (a-z), numerals (0-9)
					and 4 special characters: "_", "-", ",", " " (space)</span></li>
		</ul>
		<li><span><b>ID</b> - ID field will specify unique id for every component. </span></li>
		<li><span><b>Type </b> - Type further categorizes the
				component to detailed operation that it intends to perform. Here it
				is of type Filter.This is a non editable field.</span></li>
	</ul>

	<p>
		<span class="header-2">Configuration</span>
	</p>

	<ul>
		<li><span><b>Expression Editor Or Operation Class</b> -
				Edit option of Filter property window allows user to choose only one
				option,i.e either Expression or Operation.</span>

			<p>
				<span><b>Operation Class</b> : Selecting Operation opens up a
					grid for the user to select for an existing operation class or
					create a new one. The operation class name can be parameterized
					which will be resolved at runtime. Click on <a
					href="Filter_Operation_Window.html">Operation Class</a></span>&nbsp;<span>
					to know more about creating and using Standard classes here.</span>
			</p>
			<p>
				<img alt="" src="../../images/operation_class.png" />
			</p>
			<p>
				<span><b>Expression Editor</b> : Selecting Expression opens
					expression editor window. Click on <a
					href="Expression_Editor_window.html">Expression Editor</a> to know
					more about Expression Editor .</span>
			</p>
			<p>
				<img src="../../images/expression_editor.png" />
			</p></li>
	</ul>


	<ul>
		<li><span><b>Operation Fields</b> - Edit opens up a grid
				to accept the fields that will be used to filter records from the
				input data. Edit button is only enable if user specifics Operation Class Window for Filter.</span></li>
	</ul>
	<p>
		<img alt="" src="../../images/operation_fields.png" />
	</p>
	<ul>
		<li><span><b>Runtime Properties</b> -&nbsp;Runtime
				properties are used to override the Hadoop configurations specific
				to Filter component at run time. User is required to enter the
				Property Name and Value in the runtime properties grid.</span></li>
		<li><p>
				<span>Check <a
					href="../../How To Steps/How_To_Pass_Hadoop_Properties_To_Component.html">
						How to pass Hadoop properties to component</a></span>
			</p></li>
	</ul>
	<p>
		<img alt="" src="../../images/Runtime_Properties_Grid.png" />
	</p>
	<ul>
		<li><span><b>Batch</b> - Batch simply accepts a numeric
				number starting from 0 and signifies the phase this component will
				execute in. By default this is 0.</span></li>
	</ul>

	<p>
		<a name="validations"></a><span class="header-2">Validations</span>
	</p>
	<p>
		<span><b>Validations</b>&nbsp;for the Filter component are in
			place for each property present on the Properties window.</span>
	</p>
	<p>
		<img alt="" src="../../images/Filter_Properties_Validation.PNG" />
	</p>
	<p>
		<b>General Properties:</b>
	</p>
	<ul>
		<li><span><b>Operation Class</b> - Operation Class is a
				mandatory field and needs the user to either select a standard
				operation class or create his own custom class. If absent, error for
				empty field appears along with a message on tool tip for the user.
				<p>
					<img alt="" src="../../images/operation_class_validation.png" />
				</p> </span></li>
				
		<li><span><b>Operation Fields </b> -User can select the
				available fields that will be used within the filter operation
				class. Hence, known as Operation Fields. Basic validation to check
				empty field values is present on the Operation Fields Grid.
				<p>
					<img alt="" src="../../images/operation_fields_validation.png" />
				</p> </span></li>
				
		<li><span><b>Batch </b> -Batch has a default value of 0.
				However, blank text box results in error validation and is not
				allowed.
				<p>
					<img alt="" src="../../images/Filter_Phase_Validation.PNG" />
				</p> </span></li>
	</ul>

</body>
</html>
